/**
 * 定义 store 【组合式定义】
 */

import { defineStore } from "pinia";
import { computed, ref } from "vue";

const useProductStore = defineStore("product", () => {
  // 定义 state, 可以使用 ref() reactive() 来创建
  const raw = ref([1, 2, 3]);
  const age = ref(10);

  // 定义 getter, 可以使用 computed() 来创建
  const len = computed(() => raw.value.length);

  // 定义 action, 可以直接创建函数即可
  const add = () => {
    raw.value.push(len.value + 1);
  };

  // 注意，需要代理到当前仓库实例上的，需要 return
  return {
    raw,
    len,
    add,
    age,
  };
});

export default useProductStore;
